﻿@using NPOI.SS.Formula.Functions
@using WSS.Models.Res
@{
    ViewBag.Title = "文档类别管理";
}

@section css{
    <style>
        .subcate
        {
            margin-left: 40px;
        }
    </style>
}

<div class="container">
    <ol class="breadcrumb">
        <li><a href="/adm/rescenter">资源中心</a></li>
        <li><a href="/rescenter/document">我的文档</a></li>
        <li class="active">文档分类管理</li>
    </ol>

    <div class="panel panel-primary">
        <div class="panel-heading">文档分类管理</div>
        <div class="panel-body form-inline">
            <div class="btn-group">
                @Html.MyButton("btn_add_cate", "增加分类")
                @Html.MyButton("btn_ren_cate", "重命名")
                @Html.MyButton("btn_del_cate", "移除分类")
            </div>

            <div class="btn-group">
                @Html.MyButton("btn_collapse_expand_all", "收缩/展开全部")
            </div>

            <p id="nowaddone" style="margin-top: 30px;" class="hidden">
                您目前没有设置分类，现在<a href="#" onclick="javascript:$('#btn_add_cate').click();">设置</a>一个吧!
            </p>
        </div>

        <ul class="list-group" id="cate_conetent">
        </ul>

    </div>
</div>

@section script{
    <script>

        $(function () {
            $('#btn_add_cate').popover({
                html: true,
                placement: "bottom",
                //title: "添加分类",
                content: "<label>分类名称:<input type='text' name='catename' id='catename'></label>" +
                    "<div class='btn-group'>" +
                    "<button class='btn btn-primary btn-sm' id='btn_save_add_cate' onclick='saveAddpopover()'>保存</button>" +
                    "<button class='btn btn-default btn-sm' id='btn_close_add_cate' onclick='closeAddpopover()'>关闭</button>" +
                    "</div>"
            }).on('shown.bs.popover', function () {
                $("#catename").focus();
            });;

            function getSelectedEle() {
                var li = $("#cate_conetent .selected-bgc");
                if (li.size() == 0) {
                    mainfn.msg("请选择一行分类");
                    return null;
                }
                return li;
            }

            $("#btn_ren_cate").click(function () {
                var $li = getSelectedEle();
                if ($li) {
                    var text = $li.find("label").text();
                    $li.find("label").before("<input type='text' data-ori='" + text + "' value='" + text + "'>&nbsp;&nbsp;<a href='#' onclick='saverename(this)'>保存</a>&nbsp;&nbsp;<a href='#' onclick='revo(this)'>撤销</a>").remove();
                    $li.find(":text:first").select();
                }
            });

            $("#btn_del_cate").click(function () {
                var $li = getSelectedEle();
                if ($li) {
                    removecate($li.children(".close"));
                }
            });

            //收缩/展开全部
            $("#btn_collapse_expand_all").click(function () {
                $("#cate_conetent > li").each(function (idx, obj) {
                    if ($(obj).data("lvl") != '0') {
                        $(obj).slideToggle();
                    }
                });
            });

            function init(parameters) {
                $("#cate_conetent").load("/rescenter/getrescategrid", {}, function () {
                    bindCateElementClick();
                });
            }

            init();
        });

        // 绑定列表单击事件
        function bindCateElementClick() {
            var $li = $("#cate_conetent").children("li");
            if ($li.size() == 0) {
                $("#nowaddone").removeClass("hidden");
            } else {
                $li.unbind("click").bind("click", function () {
                    $(this).addClass("selected-bgc").siblings().removeClass("selected-bgc");
                });
            }

        }

        // 撤销重命名
        function revo(t) {
            var $li = $(t).parent();
            var text = $li.children(":text").data("ori");
            $li.children(".close").siblings().remove().end().end().prepend("<label>" + text + "</label>");
        }

        // 保存重命名
        function saverename(t) {
            var $li = $(t).parent();
            var $text = $li.children(":text");
            var text = $text.val();
            if (text == "") {
                $text.tooltip({ title: "请填写分类名称", placement: "auto" });
                $text.tooltip('show');
                setTimeout(function () {
                    $text.tooltip('destroy');
                }, 2000);
            } else {
                if ($text.data("ori") != text) {
                    var cateno = $li.data("cateno");
                    $.post("/rescenter/renamecatename", { cateno: cateno, newname: text }, function (data) {
                        if (data.flag) {
                            $text.data("ori", text);
                            revo($text);
                        }
                        mainfn.msg(data.msg);
                    });
                }
                $text.data("ori", text);
                revo($text);
            }
        }

        // 移除分类
        function removecate(t) {
            var cateno = $(t).parent().data("cateno");

            if (cateno) {
                $.post("/rescenter/removecate", { cateno: cateno }, function (data) {
                    mainfn.msg(data.msg);

                    if (data.flag) {
                        $(t).parent().remove();
                    }
                });
            } else {
                mainfn.msg("请先列表中选中一条记录后再操作，或者点击行末尾的删除按钮");
            }
        }

        // 新增分类
        function saveAddpopover() {
            var catename = $("#catename").val(),
                orderno = $("#cate_conetent").children("li").size(),
                parentno = "ROOT",
                level = 0,
                obj = {};
            var $sel = $("#cate_conetent").children(".selected-bgc");

            if ($sel.size() == 1) {
                parentno = $sel.data("cateno");
                level = $sel.data("lvl") * 1 + 1;
            }

            obj = { catename: catename, orderno: orderno, parentno: parentno, level: level };

            $.post("/rescenter/addcategory", obj, function (data) {

                if (data.flag) {
                    $("#nowaddone").size() && $("#nowaddone").remove();

                    var newlevel = 0;
                    if ($sel.size() != 0) {
                        newlevel = ($sel.data("lvl") * 1 + 1);
                        $sel.after('<li class="list-group-item" data-cateno="' + data.msg + '" data-lvl="' + newlevel + '" style="margin-left:' + newlevel * 50 + 'px;"><label>' + catename + '</label>\
                    <span class="pull-right close" onclick="removecate(this);">&times;</span></li>');
                    } else {
                        $("#cate_conetent").append('<li class="list-group-item" data-cateno="' + data.msg + '" data-lvl="' + newlevel + '" style="margin-left:' + newlevel * 50 + 'px;"><label>' + catename + '</label>\
                    <span class="pull-right close" onclick="removecate(this);">&times;</span></li>');
                    }
                    bindCateElementClick();

                    mainfn.msg("分类新增成功");
                } else {
                    mainfn.msg(data.msg);
                }
            });

            closeAddpopover();
        }

        function closeAddpopover() {
            $('#btn_add_cate').popover('toggle');
        }
    </script>
}
